package com.deepface.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 换脸任务表
 * @TableName sys_face_job
 */
@TableName(value ="sys_face_job")
@Data
public class SysFaceJob implements Serializable {
    /**
     * 任务ID
     */
    @TableId(type = IdType.AUTO)
    private Long jobId;

    /**
     * 任务ID
     */
    private String jobName;

    /**
     * 所属任务组ID
     */
    private Long jobGroupId;

    /**
     * 任务顺序
     */
    private Integer jobSort;

    /**
     * 任务输入目录
     */
    private String jobInputDir;

    /**
     * 任务输出目录
     */
    private String jobOutputDir;

    /**
     * 任务日志目录
     */
    private String jobLogDir;

    /**
     * 人脸切分类型
     */
    private String faceType;

    /**
     * 最多人脸数目
     */
    private Integer maxFaceFromImage;

    /**
     * 图片大小
     */
    private Integer imageSize;

    /**
     * 图片质量
     */
    private Integer jpegQuality;

    /**
     * GPU设备编号
     */
    private Integer forceGpuIdxs;

    /**
     * 输出格式
     */
    private String outputExt;

    /**
     * 帧率选择
     */
    private Integer fps;

    /**
     * 最大迭代次数
     */
    private Integer maxIterations;

    /**
     * 强制模型名称
     */
    private String forceModelName;

    /**
     * 批处理大小
     */
    private Integer batchSize;

    /**
     * 子进程数量
     */
    private Integer subprocessCount;

    /**
     * Erode Mask Modifier
     */
    private Integer erodeMaskModifier;

    /**
     * Blur Mask Modifier
     */
    private Integer blurMaskModifier;

    /**
     * Super Resolution Power
     */
    private Integer superResolutionPower;

    /**
     * 执行状态（0表示新建，1表示运行，2表示结束）
     */
    private Integer state;

    /**
     * 创建者id
     */
    private Long userId;

    /**
     * 任务对应进程id
     */
    private Long jobPid;

    /**
     * 具体命令文件名
     */
    private String command;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    private String delFlag;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}